<template>
	<div class="wrapper">
		<!-- header部分 -->
		<header>
			<div class="icon-location-box">
				<div class="icon-location"></div>
			</div>
			<div class="location-text">天津市天津大学<i class="fa fa-caret-down"></i></div>
		</header>

		<!-- search部分 -->
		<div class="search">
			<div class="search-fixed-top" ref="fixedBox">
				<div class="search-input-box">
					<i class="fa fa-search"></i>
					<input 
						type="text" 
						v-model="searchKeyword" 
						placeholder="搜索饿了么商家、商品名称"
						@keyup.enter="handleSearch"
					>
					<button v-if="searchKeyword" class="clear-btn" @click="clearSearch">×</button>
					<button class="search-btn" @click="handleSearch">搜索</button>
				</div>
			</div>
		</div>

		<!-- 点餐分类部分 -->
		<ul class="foodtype">
			<li @click="toBusinessList(1)">
				<img src="../assets/dcfl01.png">
				<p>美食</p>
			</li>
			<li @click="toBusinessList(2)">
				<img src="../assets/dcfl02.png">
				<p>早餐</p>
			</li>
			<!-- 其他分类保持不变 -->
			<li @click="toBusinessList(3)">
				<img src="../assets/dcfl03.png">
				<p>跑腿代购</p>
			</li>
			<li @click="toBusinessList(4)">
				<img src="../assets/dcfl04.png">
				<p>汉堡披萨</p>
			</li>
			<li @click="toBusinessList(5)">
				<img src="../assets/dcfl05.png">
				<p>甜品饮品</p>
			</li>
			<li @click="toBusinessList(6)">
				<img src="../assets/dcfl06.png">
				<p>速食简餐</p>
			</li>
			<li @click="toBusinessList(7)">
				<img src="../assets/dcfl07.png">
				<p>地方小吃</p>
			</li>
			<li @click="toBusinessList(8)">
				<img src="../assets/dcfl08.png">
				<p>米粉面馆</p>
			</li>
			<li @click="toBusinessList(9)">
				<img src="../assets/dcfl09.png">
				<p>包子粥铺</p>
			</li>
			<li @click="toBusinessList(10)">
				<img src="../assets/dcfl10.png">
				<p>炸鸡炸串</p>
			</li>
		</ul>

		<!-- 横幅广告部分 -->
		<div class="banner">
			<h3>品质套餐</h3>
			<p>搭配齐全吃得好</p>
			<a>立即抢购 &gt;</a>
		</div>

		<!-- 超级会员部分 -->
		<div class="supermember">
			<div class="left">
				<img src="../assets/super_member.png">
				<h3>超级会员</h3>
				<p>&#8226; 每月享超值权益</p>
			</div>
			<div class="right">
				立即开通 &gt;
			</div>
		</div>

		<!-- 推荐商家部分 -->
		<div class="recommend">
			<div class="recommend-line"></div>
			<p>推荐商家</p>
			<div class="recommend-line"></div>
		</div>

		<!-- 推荐方式部分 -->
		<ul class="recommendtype">
			<li>综合排序<i class="fa fa-caret-down"></i></li>
			<li>距离最近</li>
			<li>销量最高</li>
			<li>筛选<i class="fa fa-filter"></i></li>
		</ul>

		<!-- 推荐商家列表部分 -->
		<ul class="business">
			<!-- 加载状态 -->
			<div v-if="loading" class="loading">
				<i class="fa fa-spinner fa-spin"></i> 加载中...
			</div>
			
			<!-- 无结果状态 -->
			<div v-else-if="recommendBusinesses.length === 0 && !loading" class="no-result">
				<p>没有找到推荐店铺</p>
			</div>
			
			<!-- 商家列表 -->
			<li v-else v-for="business in recommendBusinesses" :key="business.id" @click="goToBusinessDetail(business.id)">
				<img :src="business.businessImg || '../assets/sj01.png'">
				<div class="business-info">
					<div class="business-info-h">
						<h3>{{ business.businessName }}</h3>
						<div class="business-info-like">&#8226;</div>
					</div>
					<div class="business-info-star">
						<div class="business-info-star-left">
							<i class="fa fa-star"></i>
							<i class="fa fa-star"></i>
							<i class="fa fa-star"></i>
							<i class="fa fa-star"></i>
							<i class="fa fa-star"></i>
							<p>4.9 月售345单</p>
						</div>
						<div class="business-info-star-right">
							蜂鸟专送
						</div>
					</div>
					<div class="business-info-delivery">
						<p>&#165;{{ business.startPrice }}起送 | &#165;{{ business.deliveryPrice }}配送</p>
						<p>3.22km | 30分钟</p>
					</div>
					<div class="business-info-explain">
						<div>{{ business.businessExplain || '餐饮美食' }}</div>
					</div>
					<div class="business-info-promotion">
						<div class="business-info-promotion-left">
							<div class="business-info-promotion-left-incon">新</div>
							<p>饿了么新用户首单立减9元</p>
						</div>
						<div class="business-info-promotion-right">
							<p>2个活动</p>
							<i class="fa fa-caret-down"></i>
						</div>
					</div>
					<div class="business-info-promotion">
						<div class="business-info-promotion-left">
							<div class="business-info-promotion-left-incon" style="background-color: #F1884F;">特</div>
							<p>特价商品5元起</p>
						</div>
					</div>
				</div>
			</li>
		</ul>

		<!-- 底部菜单部分 -->
		<Footer></Footer>
	</div>
</template>

<script>
	import Footer from '../components/Footer.vue';
	import axios from 'axios';
	
	export default {
		name: 'Index',
		data() {
			return {
				recommendBusinesses: [], // 存储推荐商家列表
				searchKeyword: '', // 搜索关键词
				loading: false // 加载状态
			}
		},
		mounted() {
			// 初始加载推荐商家
			this.fetchRecommendBusinesses();
			
			document.onscroll = ()=> {
				let s1 = document.documentElement.scrollTop;
				let s2 = document.body.scrollTop;
				let scroll = s1 == 0 ? s2 : s1;
				let width = document.documentElement.clientWidth;
				let search = this.$refs.fixedBox;
				
				if (scroll > width * 0.12) {
					search.style.position = 'fixed';
					search.style.left = '0';
					search.style.top = '0';
					search.style.zIndex = '100';
				} else {
					search.style.position = 'static';
					search.style.zIndex = '1';
				}
			}
		},
		destroyed() {
			document.onscroll = null;
		},
		components:{
			Footer
		},
		methods:{
			toBusinessList(orderTypeId){
				this.$router.push({
					path:'/businessList',
					query:{orderTypeId:orderTypeId}
				});
			},
			
			// 跳转到商家详情页
			goToBusinessDetail(businessId) {
				this.$router.push({
					path: '/businessInfo',
					query: { businessId: businessId }
				});
			},
			
			// 搜索店铺 - 跳转到搜索结果页
			handleSearch() {
				if (!this.searchKeyword.trim()) return;
				document.activeElement.blur();
				// 跳转到搜索结果页并携带关键词
				this.$router.push({
					path: '/searchResult',
					query: { keyword: this.searchKeyword.trim() }
				});
			},
			
			// 清除搜索关键词
			clearSearch() {
				this.searchKeyword = '';
			},
			
			// 获取推荐商家列表
			async fetchRecommendBusinesses() {
				this.loading = true;
				try {
					const response = await axios.get('/api/businesses');
					if (response.data.success) {
						this.recommendBusinesses = response.data.data || [];
					} else {
						alert('获取推荐商家失败: ' + (response.data.message || '未知错误'));
						this.recommendBusinesses = [];
					}
				} catch (error) {
					console.error('请求推荐商家接口出错:', error);
					alert('请求失败，请稍后重试');
					this.recommendBusinesses = [];
				} finally {
					this.loading = false;
				}
			}
		}
	}
</script>


<style scoped>
	.wrapper {
		width: 100%;
		height: 100%;
	}

	/* 头部样式 */
	.wrapper header {
		width: 100%;
		height: 12vw;
		background-color: #0097FF;
		display: flex;
		align-items: center;
	}

	.wrapper header .icon-location-box {
		width: 3.5vw;
		height: 3.5vw;
		margin: 0 1vw 0 3vw;
	}

	.wrapper header .location-text {
		font-size: 4.5vw;
		font-weight: 700;
		color: #fff;
	}

	.wrapper header .location-text .fa-caret-down {
		margin-left: 1vw;
	}

	/* 搜索框样式 */
	.wrapper .search {
		width: 100%;
		height: 13vw;
	}

	.wrapper .search .search-fixed-top {
		width: 100%;
		height: 13vw;
		background-color: #0097FF;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	/* 改造后的搜索输入框样式 */
	.search-input-box {
		width: 90%;
		height: 9vw;
		background-color: #fff;
		border-radius: 4.5vw;
		display: flex;
		align-items: center;
		padding: 0 4vw;
		position: relative;
	}

	.search-input-box i.fa-search {
		color: #AEAEAE;
		font-size: 3.5vw;
		margin-right: 2vw;
	}

	.search-input-box input {
		flex: 1;
		height: 95%;
		border: none;
		padding: 0 2vw;
		outline: none;
		font-size: 3.5vw;
		color: #333;
	}

	.search-input-box input::placeholder {
		color: #AEAEAE;
	}

	/* 清除按钮样式 */
	.clear-btn {
		width: 4vw;
		height: 4vw;
		border: none;
		background: none;
		color: #999;
		font-size: 4vw;
		line-height: 4vw;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	/* 搜索按钮样式 */
	.search-btn {
		background-color: #0097FF;
		color: white;
		border: none;
		border-radius: 2vw;
		padding: 1vw 3vw;
		font-size: 3.2vw;
		margin-left: 2vw;
		cursor: pointer;
	}

	/* 搜索结果提示 */
	.search-result-tip {
		width: 100%;
		padding: 2vw 4vw;
		background-color: #f5f5f5;
		font-size: 3.2vw;
		color: #666;
	}

	/* 点餐分类样式 */
	.wrapper .foodtype {
		width: 100%;
		height: 48vw;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
		align-content: center;
	}

	.wrapper .foodtype li {
		width: 18vw;
		height: 20vw;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		user-select: none;
		cursor: pointer;
	}

	.wrapper .foodtype li img {
		width: 12vw;
		height: 10.3vw;
	}

	.wrapper .foodtype li p {
		font-size: 3.2vw;
		color: #666;
	}

	/* 横幅广告样式 */
	.wrapper .banner {
		width: 95%;
		margin: 0 auto;
		height: 29vw;
		background-image: url(../assets/index_banner.png);
		background-repeat: no-repeat;
		background-size: cover;
		box-sizing: border-box;
		padding: 2vw 6vw;
	}

	.wrapper .banner h3 {
		font-size: 4.2vw;
		margin-bottom: 1.2vw;
	}

	.wrapper .banner p {
		font-size: 3.4vw;
		color: #666;
		margin-bottom: 2.4vw;
	}

	.wrapper .banner a {
		font-size: 3vw;
		color: #C79060;
		font-weight: 700;
	}

	/* 超级会员样式 */
	.wrapper .supermember {
		width: 95%;
		margin: 0 auto;
		height: 11.5vw;
		background-color: #FEEDC1;
		margin-top: 1.3vw;
		border-radius: 2px;
		color: #644F1B;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.wrapper .supermember .left {
		display: flex;
		align-items: center;
		margin-left: 4vw;
		user-select: none;
	}

	.wrapper .supermember .left img {
		width: 6vw;
		height: 6vw;
		margin-right: 2vw;
	}

	.wrapper .supermember .left h3 {
		font-size: 4vw;
		margin-right: 2vw;
	}

	.wrapper .supermember .left p {
		font-size: 3vw;
	}

	.wrapper .supermember .right {
		font-size: 3vw;
		margin-right: 4vw;
		cursor: pointer;
	}

	/* 推荐商家标题样式 */
	.wrapper .recommend {
		width: 100%;
		height: 14vw;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.wrapper .recommend .recommend-line {
		width: 6vw;
		height: 0.2vw;
		background-color: #888;
	}

	.wrapper .recommend p {
		font-size: 4vw;
		margin: 0 4vw;
	}

	/* 推荐方式样式 */
	.wrapper .recommendtype {
		width: 100%;
		height: 5vw;
		margin-bottom: 5vw;
		display: flex;
		justify-content: space-around;
		align-items: center;
	}

	.wrapper .recommendtype li {
		font-size: 3.5vw;
		color: #555;
	}

	/* 商家列表样式 */
	.wrapper .business {
		width: 100%;
		margin-bottom: 14vw;
	}

	.wrapper .business li {
		width: 100%;
		box-sizing: border-box;
		padding: 2.5vw;
		user-select: none;
		border-bottom: solid 1px #DDD;
		display: flex;
	}

	.wrapper .business li img {
		width: 18vw;
		height: 18vw;
	}

	.wrapper .business li .business-info {
		width: 100%;
		box-sizing: border-box;
		padding-left: 3vw;
	}

	.wrapper .business li .business-info .business-info-h {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 2vw;
	}

	.wrapper .business li .business-info .business-info-h h3 {
		font-size: 4vw;
		color: #333;
	}

	.wrapper .business li .business-info .business-info-h .business-info-like {
		width: 1.6vw;
		height: 3.4vw;
		background-color: #666;
		color: #fff;
		font-size: 4vw;
		margin-right: 4vw;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.wrapper .business li .business-info .business-info-star {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 2vw;
		font-size: 3.1vw;
	}

	.wrapper .business li .business-info .business-info-star .business-info-star-left {
		display: flex;
		align-items: center;
	}

	.wrapper .business li .business-info .business-info-star .business-info-star-left .fa-star {
		color: #FEC80E;
		margin-right: 0.5vw;
	}

	.wrapper .business li .business-info .business-info-star .business-info-star-left p {
		color: #666;
		margin-left: 1vw;
	}

	.wrapper .business li .business-info .business-info-star .business-info-star-right {
		background-color: #0097FF;
		color: #fff;
		font-size: 2.4vw;
		border-radius: 2px;
		padding: 0 0.6vw;
	}

	.wrapper .business li .business-info .business-info-delivery {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 2vw;
		color: #666;
		font-size: 3.1vw;
	}

	.wrapper .business li .business-info .business-info-explain {
		display: flex;
		align-items: center;
		margin-bottom: 3vw;
	}

	.wrapper .business li .business-info .business-info-explain div {
		border: solid 1px #DDD;
		font-size: 2.8vw;
		color: #666;
		border-radius: 3px;
		padding: 0 0.1vw;
	}

	.wrapper .business li .business-info .business-info-promotion {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 1.8vw;
	}

	.wrapper .business li .business-info .business-info-promotion .business-info-promotion-left {
		display: flex;
		align-items: center;
	}

	.wrapper .business li .business-info .business-info-promotion .business-info-promotion-left .business-info-promotion-left-incon {
		width: 4vw;
		height: 4vw;
		background-color: #70BC46;
		border-radius: 3px;
		font-size: 3vw;
		color: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.wrapper .business li .business-info .business-info-promotion .business-info-promotion-left p {
		color: #666;
		font-size: 3vw;
		margin-left: 2vw;
	}

	.wrapper .business li .business-info .business-info-promotion .business-info-promotion-right {
		display: flex;
		align-items: center;
		font-size: 2.5vw;
		color: #999;
	}

	.wrapper .business li .business-info .business-info-promotion .business-info-promotion-right p {
		margin-right: 2vw;
	}

	/* 加载状态样式 */
	.loading {
		width: 100%;
		height: 20vw;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #666;
		font-size: 3.5vw;
	}

	.loading .fa-spinner {
		font-size: 4vw;
		margin-right: 2vw;
		color: #0097FF;
	}

	/* 无结果状态样式 */
	.no-result {
		width: 100%;
		height: 20vw;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #999;
		font-size: 3.5vw;
	}

	/* 底部菜单占位 */
	.footer-placeholder {
		height: 14vw;
	}
</style>
    